#pragma once

#include <QObject>
#include "ndt_base_scene.h"

namespace eintik::presentation::viewcore {

class NdtScanSceneImpl : public NdtScanScene
{
    Q_OBJECT
public:
    NdtScanSceneImpl(QObject *parent = nullptr);

    void set_scan_type(int type) { scan_type = type; }
    void set_id_scan(int id) { id_scan = id; }

protected:
    void drawBackground(QPainter *painter, const QRectF &rect) override;

private:
    void draw_ascan(QPainter *painter, const QRectF &rect);
    void draw_sscan(QPainter *painter, const QRectF &rect);
    void draw_cscan(QPainter *painter, const QRectF &rect);
    void draw_dscan(QPainter *painter, const QRectF &rect);

private:
    // 0: ascan, 1: sscan, 2: cscan, 3: dscan
    int scan_type = -1;
    int id_scan = 0;
};

}
